﻿using Foundation.Entity;
using Foundation.Repository;

namespace Dyao.Book.Repository.Abstractions
{
    public interface IDataRepository<TEntity, TKey> : IRepository<TEntity, TKey>
          where TEntity : class, IEntity<TKey>
    {
        Task BulkDeleteAsync(IEnumerable<TKey> ids, CancellationToken cancellationToken = default);

        Task BulkDeleteAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = default);

        Task BulkInsertAsync(IEnumerable<TEntity> entities, CancellationToken cancellationToken = default);
    }

    public interface IDataRepository<TEntity> : IRepository<TEntity>
      where TEntity : class, IEntity
    {
    }
}
